Condition based accurate indoor positioning

ABSTRACT

A method is disclosed including determining an indicator information indicative of one or more indicators of a current usage of an electronic device, determining a condition information indicative of if the electronic device is rigidly positioned with respect to a user, wherein the condition information is determined based, at least in part, on the determined indicator information. It is further disclosed an according apparatus, computer program and system.

FIELD

The following disclosure relates to the field of indoor positioning, ormore particularly relates to systems, apparatuses, and methods fordetermining a condition information indicative of an electronic deviceis rigidly positioned with respect to a user.

BACKGROUND

Indoor positioning (i.e. position finding, including floor detection)requires novel systems and solutions that are specifically developed anddeployed for this purpose. The ‘traditional’ positioning technologies,which are mainly used outdoors, e.g. satellite and cellular positioningtechnologies, generally cannot deliver such performance indoors thatwould enable seamless and equal navigation experience in bothenvironments. The required positioning accuracy (e.g. 2-3 m), coverage(e.g. ˜100%) and floor detection are challenging to achieve indoors withsatisfactory performance levels with the systems and signals that werenot designed and specified for the indoor use cases. Satellite-basedradio navigation signals simply do not penetrate enough through thewalls and roofs for adequate signal reception, and the cellular signalsusually have too narrow bandwidth for accurate ranging by default.

Several indoor-dedicated solutions have been developed and commerciallydeployed during the past years, e.g. solutions based on pseudolites(GPS-like short range beacons), ultra-sound positioning, BTLE signals(e.g. High-Accuracy Indoor Positioning, HAIP) and WiFi-Fingerprinting.What is typical to these solutions is that they require eitherdeployment of totally new infrastructure (beacons, tags to name but afew examples) or manual exhaustive radio surveying of the buildingsincluding all the floors, spaces and rooms. This is rather expensive andwill take a considerable amount of time to build the coverage to thecommercially expected level, which in some cases narrowed the potentialmarket segment only to very thin customer base, e.g. for health care ordedicated enterprise solutions. Further, the diversity of thesetechnologies makes it difficult to build a globally scalable indoorpositioning solution, and the integration and testing will becomecomplex if a large number of technologies needs to be supported in theconsumer devices, such as smartphones.

For an indoor positioning solution to be commercially successful, thatis, being globally scalable, having low maintenance and deploymentcosts, and offering acceptable end-user experience, the solution shouldbe based on existing infrastructure in the buildings and on existingcapabilities in the consumer devices. This leads to the conclusion thatthe indoor positioning is advantageously based on WiFi- and/or Bluetooth(BT)-technologies that are already supported in every smartphone,tablet, laptop and even in the majority of the feature phones. It is,thus, required to find a solution that uses the WiFi- and BT-radiosignals in such a way that makes it possible to achieve e.g. 2-3 mhorizontal positioning accuracy, e.g. close to 100% floor detection withthe ability to quickly build the global coverage for this approach.

SUMMARY

While radio-based positioning can provide baseline positioning, forachieving accurate indoor positioning, the radio-based positioning needsto be spiced with information from one or more sensors (e.g. an inertialsensor) of the electronic device. The reasons include:

-   (i) stabilization of the static case (radio measurements are noisy    and thus even when staying still, the radio-based position has    jitter);-   (ii) stabilization of the traversed path (radio measurements are    very noisy and thus when walking the pure radio-bases position has    some jitter); and-   (iii) tracking of the position while in areas, where the radio    coverage is poor or non-existing requires the usage of one or more    sensors of the electronic device since they can provide the only    available data for the indoor positioning.

However, there are problems related to the location estimation with oneor more sensors in indoor positioning:

The problem of sensor-based solution is that it provides accurate(within 2 to 3 meters) relative positioning fixes during limited time(not more than 1 to 3 minutes). In other words, location estimateaccuracy degrades rapidly after reliable absolute geolocation (e.g. fromGNSS) becomes unavailable. This is mainly because of noise ininformation obtained e.g. by an accelerometer and drift obtained e.g. bya gyroscope. This makes the estimated path to drift away at anaccelerating rate.

Misalignment is the major problem when using inertial sensors ofelectronic devices in indoor positioning. This is because an electronicdevice can be held freely. In particular, the possibility ofthree-degree-of-freedom rotation of electronic devices makes itchallenging to determine whether or not the motion sensor frame isaligned with the user motion frame. Unless the measurements of thesensor is updated with absolute geolocation (e.g. from GNSS), thedirection of the electronic device may differ from that of the walking.For example, if the user changes the orientation of the electronicdevice, e.g. from portrait mode to landscape mode while walkingstraight, the user trajectory estimated based on measurements from agyroscope sensor may make a 90-degree turn even though the user walkedin a straight line. It is especially challenging when the electronicdevice is located in a pocket or in a swinging motion in the user'shand.

Misorientation of the electronic device is another obstacle to beovercome. Even if for instance inertial sensors were perfect, they onlyprovide relative information (e.g. relative position information). Forinstance, it may be possible to obtain a track, but the orientation inthe global coordinate system may be unknown. Thus, a track may beobtained which looks exactly correct based on the information obtainedby the sensor, but is rotated by a certain amount with respect to thebuilding.

Further, the accuracy of GNSS-based location estimates may be poor andbiased close to buildings, because of the signal blockage andreflections by the buildings. This may for instance cause misreferencingof a track monitored of a user, for instance the track having anincorrect starting point. This means that everything else being perfect,the track would be translated to an incorrect location by the amount ofthe initial error.

Step detection, which is typically used to detect the amount of spatialmovement may be easily used for detecting steps when the user holds theelectronic device rigidly, but steps are very difficult to detect e.g.when the electronic device is in swinging motion in the user's hands.

It is thus, inter alia, an object of the disclosure to achieve accurateindoor positioning, in particular a usage of one or more sensorsproviding relative information in a reliable manner.

According to a first exemplary embodiment of the present disclosure, amethod is disclosed, the method comprising:

-   -   determining an indicator information indicative of one or more        indicators of a current usage of an electronic device;    -   determining a condition information indicative of if the        electronic device is rigidly positioned with respect to a user,        wherein the condition information is determined based, at least        in part, on the determined indicator information.

This method may for instance be performed and/or controlled by anapparatus, for instance a server. Alternatively, this method may beperformed and/or controlled by more than one apparatus, for instance aserver cloud comprising at least two servers. Alternatively, the methodmay for instance be performed and/or controlled by an electronic device,e.g. a mobile terminal. For instance, the method may be performed and/orcontrolled by using at least one processor of the apparatus, e.g. aserver or an electronic device.

The steps of the method may for instance be controlled and/or performedby an apparatus comprising at least one processor and at least onememory including computer program code, the at least one memory and thecomputer program code configured to, with the at least one processor,cause an apparatus to perform and/or control the method according to thefirst aspect of the present disclosure. The at least one processorand/or the at least one memory may for instance be part of an apparatus,e.g. the electronic device, or another apparatus, e.g. a server that isdifferent from the electronic device.

According to a further exemplary aspect of the disclosure, a computerprogram is disclosed, the computer program when executed by a processorcausing an apparatus, for instance a server, to perform and/or controlthe actions of the method according to the first exemplary embodiment.

The computer program may be stored on computer-readable storage medium,in particular a tangible and/or non-transitory medium. The computerreadable storage medium could for example be a disk or a memory or thelike. The computer program could be stored in the computer readablestorage medium in the form of instructions encoding thecomputer-readable storage medium. The computer readable storage mediummay be intended for taking part in the operation of a device, like aninternal or external memory, for instance a Read-Only Memory (ROM) orhard disk of a computer, or be intended for distribution of the program,like an optical disc.

According to a further exemplary aspect of the disclosure, an apparatusis disclosed, configured to perform and/or control or comprisingrespective means for performing and/or controlling the method accordingto the first exemplary embodiment.

The means of the apparatus can be implemented in hardware and/orsoftware. They may comprise for instance at least one processor forexecuting computer program code for performing the required functions,at least one memory storing the program code, or both. Alternatively,they could comprise for instance circuitry that is designed to implementthe required functions, for instance implemented in a chipset or a chip,like an integrated circuit. In general, the means may comprise forinstance one or more processing means or processors.

According to a second exemplary aspect of the disclosure, an apparatusis disclosed, comprising at least one processor and at least one memoryincluding computer program code, the at least one memory and thecomputer program code configured to, with the at least one processor,cause an apparatus, for instance the apparatus, at least to performand/or to control the method according to the first exemplaryembodiment.

The above-disclosed apparatus according to any aspect of the disclosuremay be a module or a component for a device, for example a chip.Alternatively, the disclosed apparatus according to any aspect of thedisclosure may be a device, for instance a server or server cloud. Thedisclosed apparatus according to any aspect of the disclosure maycomprise only the disclosed components, for instance means, processor,memory, or may further comprise one or more additional components.

According to a third exemplary aspect of the disclosure, a system isdisclosed, comprising:

a first apparatus, e.g. an electronic device, according to any aspect ofthe disclosure as disclosed above, and a second apparatus, e.g. aserver, that is different from the first apparatus, wherein the firstapparatus is configured to provide at least one of a determinedcondition information, e.g. to the second apparatus.

In the following, exemplary features and exemplary embodiments of allaspects of the present disclosure will be described in further detail.

The electronic device may for instance be an apparatus according to thesecond aspect of the present disclosure. The electronic device may forinstance be a terminal, e.g. a smartphone, tablet, smartwatch to namebut a few examples.

The electronic device may for instance be portable (e.g. weigh less than5, 4, 3, 2, or 1 kg). The electronic device may for instance be at leasttemporarily (e.g. in removable form) installed in a vehicle. The vehiclemay for instance be a car, a truck, a motorcycle, a bicycle, a boat or aplane, to name but a few examples. The electronic device may forinstance comprise or be connectable a display for displaying a routethat is guided/navigated to a user. The electronic device may forinstance comprise or be connectable to means for outputting sound, e.g.in form of spoken commands or information. The electronic device may forinstance comprise or be connectable to one or more sensor fordetermining the devices position, such as for instance a GlobalNavigation Satellite System (GNSS) receiver, e.g. in the form of aGlobal Positioning System (GPS) receiver. The electronic device may forinstance comprise or be connectable to one or more sensors, e.g. in theform of an accelerometer and/or a gyroscope for obtaining information.Based on the obtained information, the at least one indicatorinformation can be determined. The electronic device may for instance besuitable for outdoor and for indoor navigation respectively positioningor for indoor navigation respectively positioning.

The determined indicator information may for instance stem from anelectronic device. The indicator information may for instance representone or more indicators obtained (e.g. gathered) by the electronicdevice. The one or more indicators, e.g. in the form of information, mayfor instance be obtained by one or more sensors of the electronicdevice. For instance, such a sensor of the electronic device may forinstance be configured to obtain (e.g. gather and/or measure) an (e.g.actual) movement of the electronic device through observing physicalquantities. Such a sensor may for instance be an inertial sensor (e.g.an accelerometer) and/or a gyroscope sensor to name but a few examples.Alternatively, the indicator information is determined based, at leastin part, on information obtained (e.g. gathered) by one or more sensors(e.g. an inertial sensor or a gyroscope) of the electronic device. Theindicator information may for instance be determined based, at least inpart, on certain one or more events of the electronic device, e.g.whether a backlight of a screen is turned on or not, and/or whetherinput is entered into the electronic device or not.

At least a part of the indicator information may for instance compriseat least one piece of information indicative of whether the electronicdevice is oriented in a portrait mode or in a landscape mode. Todetermine whether the electronic device is oriented in a portrait modeor in a landscape mode, information obtained (e.g. gathered or measured)by one or more sensors (e.g. an inertial sensor, accelerometer) of theelectronic device may for instance be considered.

Additionally or alternatively, the indicator information may forinstance stem from an entity that is different from the electronicdevice, e.g. a server or another electronic device (e.g. in the form ofa sensor, e.g. an inertial sensor or a gyroscope, connectable with theelectronic device).

Based, at least in part, on the indicator information the conditioninformation is determined. The condition information is indicative of ifthe electronic device is rigidly positioned with respect to a user ornot. For instance, the electronic device is rigidly positioned withrespect to a user in case the electronic device is held in a hand of theuser and additionally, a screen respectively display of the electronicdevice is facing the user. That the electronic device is rigidlypositioned with respect to the user may for instance comprise the casethat the electronic device is held in a hand of the user, but not thatthe electronic device is positioned (e.g. placed) in a pocket of theuser (e.g. in a pocket of the pants of the user).

Example embodiments thus make it possible to accurately determine acondition information representing that an electronic device is rigidlypositioned with respect to the user and the electronic device is facingthe user (e.g. the screen of the electronic device is facing the user).In this way, an accurate assumption can be made whether the electronicdevice is being hold steadily in a hand of the user or not. Based onthis assumption, e.g. step detection based on information obtained (e.g.gathered) by one or more sensors of the electronic device (e.g. aninertial sensor) is reliable. For instance, the electronic device is notbeing steadily hold in the hand of the user, in case the electronicdevice is in a swinging motion, e.g. the user is walking and holding theelectronic device in his swinging hand.

The condition information may for instance be provided (e.g. outputted)or caused providing, e.g. to a server, to an electronic device or toanother apparatus that transfers the condition information to theserver. The condition information may for instance be used for indoornavigation respectively positioning processes, e.g. performed and/orcontrolled by a positioning library, e.g. of the electronic device.

According to an exemplary embodiment of all aspects, the method furthercomprises:

-   -   determining a directional movement information indicative of a        motion, wherein the directional movement information is        determined based, at least in part, on the determined condition        information.

The directional movement information may for instance be indicative of adirection of a motion of the user. The directional movement informationmay for instance represent a user movement vector. The user movementvector may for instance point into the direction of the movementrespectively motion of the user. The directional movement informationmay for instance be determined (e.g. calculated) by considering whetherthe electronic device is oriented in a portrait mode or in a landscapemode. Determining whether the electronic device is oriented in aportrait mode or in a landscape mode may for instance be determinedbased on an indicator information. Alternatively or additionally, suchwhether the electronic device is oriented in a portrait mode or in alandscape mode may for instance be comprised by the conditioninformation. The directional movement information may for instance bedetermined based, at least in part, on an orientation information,wherein the orientation information is indicative of whether theelectronic device is oriented in a portrait mode or in a landscape modewith respect to the user.

The directional movement information may for instance be determinedbased, at least in part, on one or more assumption informationindicative of whether the direction of user movement respectively motionis perpendicular to at least one gravity vector or not. One or morecomponents of the at least one gravity vector may for instance becomprised by the condition information. Alternatively, the one or morecomponents of at least one gravity vector may for instance be received(e.g. provided from another apparatus). The directional movementinformation may for instance be determined based, at least in part, onthe received one or more components of the at least one gravity vector.Depending on whether the electronic device is oriented in a portraitmode or in a landscape mode, the direction of user movement (e.g.represented by the user movement vector) may for instance be alignedwith positive or negative direction of either longitudinal orlatitudinal axis of the electronic device. Such axes may for instance bedefined based, at least in part, on the condition information.Additionally, further information, e.g. an orientation information(indicative of the electronic device is oriented in a portrait mode orin a landscape mode) may be considered for defining the axes of theelectronic device. The directional movement information may for instancebe determined based, at least in part, on an orientation information.

Example embodiments thus make it possible to accurately determine adirectional movement information since at least one axis of theelectronic device corresponds to a direction of the user movement.

Further, based, at least in part, on a determined directional movementinformation and an absolute orientation information, an absolute headinginformation may for instance be determined. The absolute headinginformation may for instance be indicative of the user's absoluteheading. The absolute orientation information may for instance beindicative of magnetic field information, e.g. obtained (e.g. gatheredor measured) by one or more sensors of the electronic device (e.g. amagnetometer or compass sensor).

According to an exemplary embodiment of all aspects, the indicatorinformation is determined based, at least in part, on one or more of thefollowing parameters:

-   (i) backlight information indicative of a backlight status of the    electronic device;-   (ii) a user input information indicative of whether input is entered    into the electronic device;-   (iii) user eye detection information indicative of whether the    user's eyes are facing the electronic device;-   (iv) steadiness information indicative of a gravity vector    measurement of the electronic device;-   (v) or a combination thereof.

The backlight information may for instance represent whether a screenrespectively display of the electronic device is switched on, off ordimmed. In case the user input information represents that input isentered into the electronic device by the user, it can be accuratelyassumed that (i) the user holds the electronic device in his hand, and(ii) the screen of the electronic device is facing the user. In thiscase, the condition information is determined to represent theelectronic device is rigidly positioned with respect to the user. Incase either the backlight information represents that the screen of theelectronic device is switched off, or the user input informationrepresents that no input is entered into the electronic device, thecondition information is determined to represent the electronic deviceis not rigidly positioned with respect to the user.

The user eye detection information is indicative of whether the user'seyes are facing the electronic device or not. For instance, in case theelectronic device comprises a camera, e.g. front camera, information canbe gathered by the front camera of the electronic device. Theinformation gathered by the front camera may for instance be monitoredand analyzed by an algorithm for detecting eyes, e.g. an imagerecognition algorithm, which can analyze the gathered information todetect in particular eyes contained in the gathered information. In caseeyes can be detected, in particular for a predefined period of time, thecondition information is determined to indicative of the electronicdevice is rigidly positioned with respect to the user, since it can beaccurately assumed that (i) the device is held in a hand of the user,and (ii) the electronic device is facing the user.

Additionally, the user eye detection may for instance be indicative ofwhether the electronic device is oriented in a portrait mode or in alandscape mode. For instance, information gathered by the front cameraof the electronic device may for instance be monitored and analyzed byan algorithm for detecting eyes, e.g. an image recognition algorithm,which can analyze the gathered information to detect in particular eyescontained in the gathered information. Based on the relative position ofone eye to another eye, the orientation of the electronic device can bedetermined.

The steadiness information may for instance represent one or morecomponents of at least one gravity vector. The gravity vectormeasurement may for instance obtain (e.g. gather) the one or morecomponents of at least one gravity vector. For instance, the one or morecomponents of at least one gravity vector may for instance be obtained(e.g. gathered) by one or more sensors (e.g. an accelerometer) of theelectronic device. Thus, the steadiness information may for instance beobtained (e.g. gathered or measured) by one or more sensors (e.g. anaccelerometer) of the electronic device. The steadiness information mayfor instance represent one or more steady components of at least onegravity vector. In case the steadiness information represents one ormore steady components of at least one gravity vector, it can beaccurately assumed that the electronic device is being held in a hand ofthe user. In addition with one or more of the other parameters(backlight information, user input information, user eye detectioninformation, or a combination thereof), the indicator information mayfor instance be determined to represent the current usage of theelectronic device, e.g. the user holds the electronic device in hishands, the user is facing a screen of the electronic device, or theelectronic device is positioned in a pocket, or the electronic device isin a swinging motion in the hand of the user.

It should be noted that one or more parameters based on which, at leastin part, the indicator information may for instance be determined, mayfor instance be obtained (e.g. gathered and/or measured) in parallel.Alternatively, one or more parameters comprised by the indicatorinformation may for instance be obtained in serial.

According to an exemplary embodiment of all aspects, wherein thedetermining of the condition information comprises checking or causingchecking if one or more obtained components of at least one gravityvector fall within a specific range of values over a certain period oftime or exceed at least one limit of the specific range of values overthe certain period of time.

The one or more components of the at least one gravity vector may forinstance be obtained (e.g. gathered or measured) by one or more sensors(e.g. an accelerometer) of the electronic device. The one or morecomponents may for instance be obtained over a certain period of time.For instance, the certain period of time may for instance be apredefined time interval. The specific range of values and/or the atleast one limit of the specific range of values may for instance bepredetermined. The specific range of values and/or the at least onelimit of the specific range of values may for instance be set toindicate whether the electronic device is in a steady position withrespect to the user or not. The at least one limit of the specific rangemay for instance be the lower limit of the specific range. Alternativelyor additionally, the at least one limit of the specific range may forinstance be the upper limit of the specific range. Thus, in case thecondition information is determined based, at least in part, on one ormore obtained components of at least one gravity vector of thesteadiness information, based on which, at least in part, the indicationinformation is determined, the condition information can representwhether the electronic device is rigidly positioned with respect to theuser or not.

Additionally, the specific range of values and/or the at least one limitof the specific range of values may for instance be set to be indicativeof the electronic device is positioned in a pocket of the user, or beindicative of the electronic device is not positioned rigidly withrespect to the user, e.g. in a swinging motion in a hand of the user.Further scenarios with respect to the position of a current usage of theelectronic device may for instance be set based on a correspondingdefinition of the specific range of values and/or the certain threshold.For instance, if the one or more obtained components of at least onegravity vector vary over the certain period of time (e.g. exceeding atleast one limit of the specific range of values over the certain periodof time, e.g. at least once), it may for instance be determined that theelectronic device (which has for instance obtained the one or morecomponents of the at least one gravity vector) is e.g. in swingingmotion or rotating. In case the one or more obtained components of atleast one gravity vector are for instance substantially steady over thecertain period of time (e.g. not exceeding at least one limit of thespecific range of values over the certain period of time, or fallingwithin the specific range of values over the certain period of time, toname but a few non-limiting examples), it may for instance be determinedthat the electronic device is rigidly positioned with respect to theuser, e.g. the orientation of the electronic device is fixed. This casemay for instance represent that the steadiness information representsone or more steady components of at least one gravity vector.

The specific range of values and/or the at least one limit of thespecific range of values may for instance be set to represent arelatively narrow range compared to a broader range so that thedetermined indication information representing whether the electronicdevice is rigidly positioned with respect to the user or not is moresensitive to changes of the one or more components of the at least onegravity vector. In case the specific range of values and/or the at leastone limit of the specific range of values may for instance be set torepresent a relatively broader range compared to a narrow range so thatthe determined indication information representing whether theelectronic device is rigidly positioned with respect to the user or notis more robust to changes of the one or more components of the at leastone gravity vector.

In this way, a rate-of-change of the one or more components of the atleast one gravity vector over the certain period of time can be used todetermine whether the electronic device is rigidly positioned withrespect to the user or not.

According to an exemplary embodiment of all aspects, the method furthercomprises:

-   -   checking or causing checking whether the condition information        represents the electronic device is rigidly positioned with        respect to the user;    -   providing or causing providing a relative information of the        electronic device dependent upon the result of the checking or        causing checking, wherein the relative information of the        electronic device is at least in part indicative of one or more        pieces of information obtained from at least one sensor of the        electronic device

For instance, in case the checked or caused checking conditioninformation represents the electronic device is rigidly positioned withrespect to the user, a relative information, e.g. obtained (e.g.gathered) from one or more sensors of the electronic device (e.g. aninertial sensor) may for instance be provided (e.g. outputted).Additionally, the relative information may for instance be used indetermining location estimates of the electronic device, e.g. by anindoor positioning process. In case the checked or caused checkingcondition information represents the electronic device is not rigidlypositioned with respect to the user, the relative information may forinstance not be provided since e.g. heading change may not be computableand step detection may not work reliable.

The relative information may for instance be one or more pieces ofrelative position information. For instance, the one or more pieces ofrelative position information may for instance represent informationobtained (e.g. gathered) by an inertial sensor (e.g. an accelerometerand/or gyroscope) of an electronic device.

According to an exemplary embodiment of all aspects, the method furthercomprises:

-   -   determining an orientation information, wherein the orientation        information is indicative of the electronic device is oriented        in a portrait mode or in a landscape mode with respect to the        user.

For instance, the orientation information may be determined based, atleast in part, on a user eye detection information of an indicatorinformation, as described above. Further, the orientation informationmay be determined based, at least in part, on a steadiness informationobtained (e.g. gathered or measured) by one or more sensors (e.g. aninertial sensor, accelerometer) of the electronic device. Subsequently,the condition information may for instance be determined based, at leastin part, on the determined orientation information. Additionally oralternatively, the directional movement information may for instance bedetermined based, at least in part, on the determined orientationinformation.

According to an exemplary embodiment of all aspects, the method furthercomprises:

-   -   defining or causing defining one or more vectors and one or more        axes based, at least in part, on the determined orientation        information,    -   wherein the directional movement information is determined        based, at least in part, on the defined one or more vectors and        the defined one or more axes.

The one or more vectors and one or more axes may for instance be part ofa coordinate system used for determining the directional movementinformation. The coordinate system may for instance be defined withrespect to the electronic device.

Thus, based on the defined one or more vectors and one or more axes,directional movement information with respect to the electronic devicemay for instance be determined (e.g. calculated).

In an exemplary embodiment according to all aspects, the method furthercomprises:

-   -   determining an orientation change information indicative of a        change of the orientation of the electronic device.

The orientation change information may for instance represent that theorientation of the electronic device has changed from portrait mode tolandscape mode and vice versa. For instance, the orientation of theelectronic device may be monitored (e.g. continuously, or in intervalsof a predefined duration). In case, the orientation of the electronicdevice changes from portrait mode to landscape mode, it may be necessaryto define the one or more vectors and the one or more axes with respectto the electronic device accordingly.

According to an exemplary embodiment of all aspects the orientationinformation is determined based, at least in part, on the determinedorientation change information. Thus, the orientation information mayfor instance be dependent upon the current orientation of the electronicdevice.

According to an exemplary embodiment of all aspects the directionalmovement information is determined based on the subsequent formula:V=aY′+bX′.

Based, at least in part, on the condition information, the directionalmovement information, which may for instance represent the direction ofuser motion based on the one or more assumptions that the direction ofuser movement is perpendicular to at least one gravity vector, can bedetermined. The directional movement information may for instancerepresent that the direction of user motion, e.g. in the form of avector of user movement, is based on the one or more assumptions thatthe direction of user movement is aligned with positive or negativedirection of either longitudinal or latitudinal axis of the electronicdevice. This may for instance be dependent on whether the electronicdevice is in a portrait or landscape mode, e.g. represented by anorientation information. A vector of user movement, which may forinstance represent the direction of user movement, may for instance beperpendicular to at least one gravity vector. Additionally, the vectorof user movement may for instance be aligned with the linear combinationof projections of Y and X axes onto a horizontal plane (e.g. of acoordinate system defined with respect to the electronic device). Thehorizontal plane may for instance be defined by the at least one gravityvector (and not the planes of the screen of the electronic device).

In the formula, V is the vector of user motion, Y′ and X′ areprojections of Y and X axes onto horizontal plane, a and b arecoefficients proportional to Y and X components of the gravity vector.

Moreover, since based on the condition information representing that theelectronic device is rigidly positioned with respect to the user (e.g.user holds electronic device in hand), the screen of the electronicdevice faces towards the user, signs of a, b can be computed, and theyare opposite to the signs of the Y and X components of the gravityvector. For example, when Y component of the gravity vector is negative,vector of user motion is perpendicular to one or more gravity vectorsand aligned with the positive projection of Y axis onto horizontalplane. For instance, vector of user motion is a linear combination of Y′and X′ projections with coefficients 1 and 0 respectively.

Alternatively, in case the electronic device is oriented in a landscapemode (e.g. represented by a corresponding orientation information), thevector of user motion may for instance be a linear combination of Y′ andX′ projections with coefficients 0 and 1 respectively. It is alsopossible that the electronic device is in such position that the atleast one gravity vector is almost aligned with either Y or X axis. Inthat case, the vector of user motion, e.g. represented by a directionalmovement information, may for instance be aligned with the negativedirection of Z axis.

In an exemplary embodiment according to all aspects of the presentdisclosure, the method further comprises:

-   -   providing or causing providing the determined condition        information for an indoor navigation process.

According to an exemplary embodiment of all aspects, the method furthercomprises:

-   -   using the provided or caused providing condition information for        an indoor navigation process.

In an exemplary embodiment according to all aspects the track of theuser is continuously determined with or without a sensor of theelectronic device, dependent upon the determined condition information.

The track may for instance be steadily tracked. Additionally oralternatively, the track may for instance be continuously tracked inintervals, e.g. time intervals of equal duration.

The sensor of the electronic device may for instance be an inertialsensor (e.g. accelerometer) or a gyroscope of the electronic device.

It is to be understood that the presentation of the disclosure in thissection is merely by way of examples and non-limiting.

Other features of the invention will become apparent from the followingdetailed description considered in conjunction with the accompanyingdrawings. It is to be understood, however, that the drawings aredesigned solely for purposes of illustration and not as a definition ofthe limits of the invention, for which reference should be made to theappended claims. It should be further understood that the drawings arenot drawn to scale and that they are merely intended to conceptuallyillustrate the structures and procedures described herein.

BRIEF DESCRIPTION OF THE DRAWINGS

In the figures show:

FIG. 1 a schematic block diagram of a system according to an exemplaryaspect of the present disclosure.

FIG. 2 a flowchart showing an example embodiment of a method accordingto the first aspect of the present disclosure;

FIG. 3 a flowchart showing an example embodiment of a method accordingto the first aspect of the present disclosure;

FIG. 4 a schematic block diagram of an apparatus according to anexemplary aspect of the present disclosure;

FIG. 5 a schematic diagram of plotted components of a gravity vectorused in an exemplary embodiment of a method according to the firstaspect of the present disclosure;

FIG. 6 a schematic diagram of defined axes with respect to an electronicdevice used in an exemplary embodiment of a method according to thefirst aspect of the present disclosure;

FIG. 7 a schematic diagram of defined axes, components of a gravityvector and a user motion vector with respect to an electronic deviceoriented in a portrait mode used in an exemplary embodiment of a methodaccording to the first aspect of the present disclosure; and

FIG. 8 a schematic diagram of defined axes, components of a gravityvector and a user motion vector with respect to an electronic deviceoriented in a landscape mode used in an exemplary embodiment of a methodaccording to the first aspect of the present disclosure.

DETAILED DESCRIPTION

The following description serves to deepen the understanding of thepresent invention and shall be understood to complement and be readtogether with the description as provided in the above summary sectionof this specification.

FIG. 1 is a schematic block diagram of a system according to anexemplary aspect of the present disclosure. System 100 comprises aserver 110, which may alternatively be embodied as a server cloud (e.g.a plurality of servers connected e.g. via the internet and providingservices at least partially jointly), a database 120, which may beconnected to the server, e.g. via the internet and allowing access fromthe server 110 to data of the database 120. Alternatively the database120 may be embodied e.g. in the server 120. System 100 comprises anelectronic device, of which three different realizations are shown asnon-limiting examples: a portable navigation device 130, a mobile device(e.g. terminal) 140 and a tablet 150.

According to an example embodiment, electronic device 130, 140 and 150may for instance store navigation data, e.g. provided by server 110.Communication, e.g. for the transmission of the navigation data, betweenserver 110 and electronic device 130, 140, 150 may for instance takeplace at least partially in a wireless function, e.g. based on cellularradio communication or on Wireless Local Area Network (WLAN) basedcommunication, to name but a few non-limiting examples. Navigation datamay for instance be used for indoor navigation respectively positioningprocesses.

The electronic device 130, 140, 150 may for instance be configured toprovide a condition information for an indoor navigation respectivelypositioning process. Alternatively, the electronic device 130, 140, 150may be configured to perform and/or control the indoor navigationrespectively positioning process. The indoor navigation respectivelypositioning process may for instance use e.g. a provided conditioninformation. For instance, based whether the provided conditioninformation represents that an electronic device, e.g. electronic device130, 140, 150 is rigidly positioned with respect to a user, the indoornavigation respectively positioning process may be configured to performe.g. a localization based on obtained (e.g. gathered) information fromone or more sensors (e.g. an inertial sensor) of the electronic device.Otherwise, e.g. the localization may not be based on obtained (e.g.gathered) information from one or more sensors (e.g. the inertialsensor) of the electronic device and may only be based e.g. on absolutelocalization of e.g. a GNSS-based localization.

FIG. 2 is a flowchart 200 showing an example embodiment of a methodaccording to the first aspect of the present disclosure. This flowchart200 may for instance be performed by a server, e.g. server 110 of FIG.1, or by an electronic device, e.g. electronic device 130, 140, 150 ofFIG. 1.

In step 201, an indicator information is determined. The indicatorinformation is for instance obtained (e.g. received) from an electronicdevice, or from another entity. Alternatively, the indicator informationis determined, e.g. by a server or an electronic device, based, at leastin part, on one or more parameters, e.g. (i) a backlight information;(ii) a user input information; (iii) a user eye detection information;(iv) a steadiness information; (v) or a combination thereof. The one ormore parameters may for instance be obtained (e.g. gathered), e.g. byone or more sensors, in particular one or more sensors of an electronicdevice. The one or more sensor may for instance be one or more inertialsensors, e.g. one sensor may be an accelerometer and/or another sensormay be a gyroscope. The one or more sensors may for instance be used toobtain the one or more parameters, based on which, at least partly, theindicator information is determined, e.g. by at least one processor of aserver, or of an electronic device.

In step 202, a condition information is determined. The conditioninformation is determined, at least in part, based on the indicatorinformation. For instance, in a first case the determined indicatorinformation represents that the electronic device is held in a hand of auser and additionally a screen of the electronic device is facing theuser. Thus, the condition information is determined accordingly.Further, in a second case the determined indicator informationrepresents that the electronic device is not held in a hand of the user,e.g. the electronic device is in a pocket. The condition information isdetermined accordingly. In the first case, the determined conditioninformation represents that the electronic device is rigidly positionedwith respect to the user. In the second case, the determined conditioninformation represents that the electronic device is not rigidlypositioned with respect to the user.

In an optional step 203, the determined condition information isprovided for e.g. using it in an indoor navigation process. Forinstance, the determined condition information is provided to e.g. apositioning library, which may for instance be configured to be used byan electronic device for an indoor navigation process. Based on theprovided condition information, the positioning library can decidewhether to obtain information from one or more sensors, e.g. an inertialsensor, of the electronic device and using these information forlocalization or not. In this way, based on the condition informationcertain assumptions about alignment between the user and the electronicdevice take place, and therefore one or more sensors (e.g. one or moreinertial sensor) of the electronic device can be used in a reliablemanner (only if the usage of the one or more sensors results in a higherpositioning accuracy). Thus, localization accuracy greatly improves.

FIG. 3 is a flowchart 300 showing an example embodiment of a methodaccording to the first aspect of the present disclosure. This flowchart300 may for instance be performed by a server, e.g. server 110 of FIG.1, or by an electronic device, e.g. electronic device 130, 140, 150 ofFIG. 1.

In steps 301 a to 301 d, (i) backlight information, (ii) user inputinformation, (iii) user eye information, (iv) steadiness information, or(v) a combination thereof are obtained (e.g. gathered). One or more ofthese parameters may for instance be obtained by one or more sensors ofthe electronic device. Additionally or alternatively, one or more ofthese parameters may for instance be obtained based on certain events.For instance, a user input information may be obtained by monitoringwhether input is entered into the electronic device or not.

Steps 301 a to 301 d may for instance take place in serial or inparallel. Alternatively, for instance in case backlight information isobtained in step 301 a, step 301 b is performed subsequently.Additionally or alternatively, each of the steps 301 a to 301 d may forinstance be performed, at least partly, continuously so that thecondition information can be updated, e.g. in real-time.

In case the user input information represents that input is entered intothe electronic device by the user, it can be accurately assumed that (i)the user holds the electronic device in his hand, and (ii) the screen ofthe electronic device is facing the user. Further, in case the backlightinformation represents that the backlight of a screen of the electronicdevice is turned on, it can be accurately assumed that (i) the userholds the electronic device in his hand, and (ii) the screen of theelectronic device is facing the user, and (iii) the user is steadilyholding the electronic device in his hand.

One or more of the parameters obtained in step 301 a to 301 d are usedin step 302 to determine an indicator information. The indicatorinformation is indicative of a current usage of the electronic device.At hand, the current usage of the electronic device is represented bythe obtained one or more parameters of steps 301 a to 301 d ((i)backlight information, (ii) user input information, (iii) user eyeinformation, (iv) steadiness information, or (v) a combination thereof).

In step 303, an orientation information is determined. The orientationinformation is indicative of the electronic device is oriented in aportrait mode or in a landscape mode. For instance, the orientationinformation can be determined based, at least in part, on the obtainedsteadiness information of step 301 d. The steadiness information may forinstance be obtained (e.g. gathered or measured) by one or more sensors(e.g. an inertial sensor, accelerometer) of the electronic device. Thesteadiness information may for instance represent one or more componentsof at least one gravity vector. Thus, the orientation of the electronicdevice can be determined, based, at least in part, on the steadinessinformation, in particular based on the one or more components of the atleast one gravity vector of the steadiness information. Dependent uponthe direction in which the one or more components of the at least onegravity vector is pointing, the orientation information can bedetermined to represent whether the electronic device is oriented in aportrait mode or in a landscape mode.

Additionally or alternatively, the orientation information can bedetermined based, at least in part, on obtained user eye information ofstep 301 c. For instance, information gathered by the front camera ofthe electronic device may for instance be monitored and analyzed by analgorithm for detecting eyes, e.g. an image recognition algorithm, whichcan analyze the gathered information to detect in particular eyescontained in the gathered user eye information. Based on the relativeposition of one eye to another eye, the orientation of the electronicdevice can be determined.

A condition information is determined in step 304, based, at least inpart, on the determined indicator information. Further, the conditioninformation may be determined based, at least in part, on the determinedorientation information. The condition information is indicative of theelectronic device is rigidly positioned with respect to the user.

In step 305, a directional movement information is determined, based atleast in part, on the condition information, in particular comprisingthe orientation information. The directional movement information mayfor instance be determined based, at least in part, on one or moreassumption information indicative of whether the directional of usermovement respectively motion is perpendicular to at least one gravityvector or not. One or more components of at least one gravity vector mayfor instance be comprised by the condition information. Additionally,the directional movement information may be determined based, at leastin part, on the obtained steadiness information of step 301 d.

In a step 306, the determined condition information is provided for e.g.using it in an indoor navigation process.

In optional step 307, an orientation change information is determined.The orientation change information is indicative of whether theorientation of the electronic device has changed e.g. from portrait modeto landscape mode or vice versa. Since the directional movementinformation is dependent on the orientation of the electronic device(represented by the orientation information), it is crucial to indicatewhether or not the orientation of the electronic device has changed ornot. For instance, the determining of the orientation change informationmay be performed continuously (e.g. in predefined time intervals, orafter a first orientation information is determined, to name but a fewnon-limiting examples), e.g. for a real-time monitoring of theorientation of the electronic device. The stroked arrows pointing tostep 307 indicate that step 307 may for instance be performed subsequentto each of the prior steps 303, 305, and/or 306. Further, optional step307 can take place in parallel with one or more of the steps 303, 305,306, or a combination thereof.

Even in case the condition information is provided for an indoornavigation process (see step 306), the orientation change informationstill may for instance be determined in step 307.

Since the condition information may change over a certain period, theexemplary flowchart may be viewed to be performed continuously and/orrepeatedly. For instance, the parameters obtained by steps 301 a to 301d may change, so that those one or more parameters may for instance beobtained continuously and/or repeatedly as well. For instance, everytime one of the one or more parameters changes, the subsequent steps (inthis case 302 to 307) may be performed. Thus, the exemplary flowchart300 (the flowchart 200 of FIG. 2 as well) may be considered to beperformed iteratively, e.g. to adapt the condition information tocurrent conditions of the electronic device.

FIG. 4 is a schematic block diagram of an apparatus 400 according to anexemplary aspect of the present disclosure, which may for instance beperformed and/or controlled by at least one electronic device 130, 140,and/or 150 of FIG. 1. Alternatively, the schematic block diagram of theapparatus 400 according to an exemplary aspect of the present disclosuremay for instance be performed and/or controlled by server 110 of FIG. 1.

Apparatus 400 comprises a processor 410, working memory 420, programmemory 430, data memory 440, communication interface(s) 450, an optionaluser interface 460 and optional sensor(s) 470.

Apparatus 400 may for instance be configured to perform and/or controlor comprise respective means (at least one of 410 to 470) for performingand/or controlling the method according to the first exemplary aspect.Apparatus 400 may as well constitute an apparatus comprising at leastone processor (410) and at least one memory (420) including computerprogram code, the at least one memory and the computer program codeconfigured to, with the at least one processor, cause an apparatus, e.g.apparatus 400 at least to perform and/or control the method according toexemplary aspects of the disclosure.

Processor 410 may for instance comprise a condition estimator 411 and/ora direction estimator 412 as a functional and/or structural unit(s).Condition estimator 411 may for instance be configured to determine acondition information (see step 202 of FIG. 2). Direction estimator 412may for instance be configured to determine a directional movementinformation (see step 305 of FIG. 3). Processor 410 may for instancefurther control the memories 420 to 440, the communication interface(s)450, the optional user interface 460 and optional sensor(s) 470.

Processor 410 may for instance execute computer program code stored inprogram memory 430, which may for instance represent a computer readablestorage medium comprising program code that, when executed by processor410, causes the processor 410 to perform the method according to thefirst exemplary aspect.

Processor 410 (and also any other processor mentioned in thisspecification) may be a processor of any suitable type. Processor 410may comprise but is not limited to one or more microprocessor(s), one ormore processor(s) with accompanying one or more digital signalprocessor(s), one or more processor(s) without accompanying digitalsignal processor(s), one or more special-purpose computer chips, one ormore field-programmable gate array(s) (FPGA(s)), one or morecontroller(s), one or more application-specific integrated circuit(s)(ASIC(s)), or one or more computer(s). The relevant structure/hardwarehas been programmed in such a way to carry out the described function.Processor 410 may for instance be an application processor that runs anoperating system.

Program memory 430 may also be included into processor 410. This memorymay for instance be fixedly connected to processor 410, or be at leastpartially removable from processor 410, for instance in the form of amemory card or stick. Program memory 430 may for instance benon-volatile memory. It may for instance be a FLASH memory (or a partthereof), any of a ROM, PROM, EPROM and EEPROM memory (or a partthereof) or a hard disc (or a part thereof), to name but a few examples.Program memory 430 may also comprise an operating system for processor410. Program memory 430 may also comprise a firmware for apparatus 400.

Apparatus 400 comprises a working memory 420, for instance in the formof a volatile memory. It may for instance be a Random Access Memory(RAM) or Dynamic RAM (DRAM), to give but a few non-limiting examples. Itmay for instance be used by processor 410 when executing an operatingsystem and/or computer program.

Data memory 440 may for instance be a non-volatile memory. It may forinstance be a FLASH memory (or a part thereof), any of a ROM, PROM,EPROM and EEPROM memory (or a part thereof) or a hard disc (or a partthereof), to name but a few examples.

Communication interface(s) 450 enable apparatus 400 to communicate withother entities, e.g. with server 110 of FIG. 1 or with electronic device130, 140, 150 of FIG. 1. The communication interface(s) 450 may forinstance comprise a wireless interface, e.g. a cellular radiocommunication interface and/or a WLAN interface) and/or wire-boundinterface, e.g. an IP-based interface, for instance to communicate withentities via the Internet.

User interface 460 is optional and may comprise a display for displayinginformation to a user and/or an input device (e.g. a keyboard, keypad,touchpad, mouse, etc.) for receiving information from a user.

Sensor(s) 470 are optional and may for instance comprise one or moresensors, e.g. to obtain one or more parameters (see steps 301 a to 301 dof FIG. 3), e.g. an inertial sensor, accelerometer, gyroscope to namebut a few examples, based on which an indicator information (see step302 of FIG. 3) may be determined.

Some or all of the components of the apparatus 400 may for instance beconnected via a bus. Some or all of the components of the apparatus 400may for instance be combined into one or more modules.

The following exemplary embodiments shall also considered to bedisclosed:

An inertial sensor of an electronic device can significantly improve theaccuracy and the perceived quality of indoor positioning. The accuracyimprove stems in particular from one or more sensors of the electronicdevice being able to obtain (e.g. gather or measure) the actual movementthrough observing physical quantities. Thus, the tracked movement of theelectronic device is more stable than when just relying on radiomeasurements (e.g. Bluetooth and/or WiFi) for tracking the movement.Also, distances moved from one epoch to another can be more realisticmaking the visualized trajectory smooth improving the perceived quality.

Thus, there are good reasons to use the one or more sensors of anelectronic device for indoor navigation respectively positioningprocesses. However, they suffer from multitude of problems as describedabove in the summary section of this specification. Misorientation andmisreferencing are problems that can be alleviated by having anotherpositioning technology, such as radio-based, to support positioning.Also drift, which is a result of noise and misalignment can be mitigatedwith other technologies, but not fully.

Misalignment is the hardest of the mentioned problems. To solve thisproblem, the three-degree-of-freedom rotation of the electronic devicehas to be compensated sufficiently. Therefore, it is needed to use oneor more sensors of the electronic device in an intelligent way only whenthey are thought to work well.

In case the electronic device is for instance in a pocket, it sufficesto locate the electronic device with somewhat lesser accuracy withoutthe use of one or more sensors of the electronic device, since the oneor more sensors of the electronic device are known not to perform wellwhen the electronic device is located in a pocket. In this case, it canbe relied only on radio-based positioning for locating the electronicdevice. This provides good enough location quality for e.g. indoorgeofencing and proximity-type use cases.

Vice versa, higher accuracy and location stability may for instance berequired, when a user actually looks at the screen of the electronicdevice. A clear indication of the user looking at the screen of theelectronic device is for instance that the background light of thescreen is switched on. In addition to screen backlight events (e.g.background light is turned on, off, or dimmed), user input (e.g. clicks,touches, or the like to name but a few examples) may for instanceindicate that the user is keeping the electronic device in his hand.Thus, a movement to be tracked of the electronic device may for instancebe performed by estimating the location estimates based, at least inpart, on relative information, e.g. obtained by one or more sensors ofthe electronic device when an event indicates that the background lightis on and the user interacts with the electronic device. In case both ofthese conditions are met, it may for instance be assumed that theelectronic device is rigidly positioned with respect to the user. Thus,e.g. step detection is reliable when the electronic device is rigidlypositioned with respect to the user. Further, axes of the electronicdevice corresponding to a direction of the user movement respectively acorresponding directional movement information may for instance bedetermined since it is perpendicular to a gravity vector and alignedwith positive direction of one of the axes of the electronic devicedepending on the screen rotation mode (e.g. the electronic device isoriented in a portrait or in a landscape mode). One or more componentsof at least one gravity vector as well as screen rotation mode may forinstance be easily determined based on acceleration measurements, e.g.obtained by one or more sensors of the electronic device. Moreover, byknowing the direction of the movement with respect to the axes of theelectronic device, and using measurements from magnetometer, it is alsopossible to estimate user's absolute heading.

Another strong indication may for instance be an eye detection event. Insome electronic devices a front camera may for instance be used tomonitor via image recognition, if eyes can be detected. If so,background light is kept strong, otherwise it is dimmed. This kind ofevent is a strong indicator that it is safe to use one or more sensorsof the electronic device, e.g. for indoor navigation respectivelypositioning processes. The reason is that the electronic device issurely held firmly in the hand of the user making e.g. step detectionand direction detection reliable. Additionally, front camera images andcomputer vision algorithms can be used to detect landscape or portraitmodes, which may for instance be difficult to determine in case when thesurface of the screen is e.g. almost perpendicular to Earth's gravity.

A third indication that the electronic device is being held in hand mayfor instance be one or more steady components of at least one gravityvector, wherein the one or more components of the at least one gravityvector may for instance point at one or more certain directions specificto such a hand held user mode. Moreover, gravity vector may for instancebe used for determining of the actual direction of the user motion,since the sole fact about the electronic device being held in e.g. aportrait or landscape orientation does not provide complete informationabout the direction of user motion.

Screen backlight and user interaction events as well as one or morecomponents of at least one gravity vector (or raw acceleration) may forinstance be obtained from the operating system of the electronic device.Eye detection events may for instance be detected based on raw imagerydata from a front camera and computer vision algorithms.

All mentioned events may for instance be communicated to e.g. apositioning library (e.g. via Android/iOS API) for indoor navigationrespectively positioning processes, e.g. by providing a determinedcondition information. The provided condition information may forinstance be processed, e.g. by the positioning library and representseither that the electronic device is rigidly positioned with respect tothe user in a usual portrait or landscape mode, or otherwise that one ormore sensors of the electronic device should not (respectively cannot)be used. Namely, backlight and user interaction events may for instanceindicate that the user holds the electronic device in his hand, and mostprobably in a normal position in front his face. In addition toinstantaneous backlight or user interaction events, the providedcondition information may for instance be indicative of a direction ofone or more components of at least one gravity vector, e.g. to verifythat the electronic device is actually kept in front of the user.Additionally or alternatively, the one or more components of at leastone gravity vector may for instance be monitored, e.g. continuously.Thus, it may for instance be checked when the position of the electronicdevice has been changed with respect to the user (e.g. the user body),e.g. moved from hand to pocket. To verify whether the electronic deviceis kept in front of the user, e.g. the positioning library, may forinstance check whether one or more components of the gravity vector fallinside specific range of values over a certain period of time, which arerepresentative of the electronic device being rigidly positioned withrespect to the user. In order to monitor changes of the location of theelectronic device with respect to the user (e.g. user body), gravityvector measurements may for instance be monitored constantly. In FIG. 5,a schematic diagram of plotted components of a gravity vector used in anexemplary embodiment of a method according to the first aspect of thepresent disclosure is shown. The components of the gravity vector areplotted over a certain period of time when an electronic device has beenmoved from hand to pocket and back to hand of the user. It can be seenthat change of device location (e.g. hand of the user, pocket of theuser to name but a few non-limiting examples) with respect to the user(e.g. body of the user) can be detected when e.g. norm betweenconsecutive gravity vectors exceed certain limit of a specific range ofvalues.

Indication of electronic device being held in front of a user is avaluable information on his own, since it allows for instance to rely one.g. inertial sensors of the electronic device and compute change ofuser heading and detect user steps. In addition to that, it is alsopossible to compute direction of user motion with respect to electronicdevice axes, and further compute user absolute heading based e.g. onmagnetometer measurements.

When e.g. the positioning library is provided with a conditioninformation representing ‘backlight of electronic device is on’, and‘user enters input’ (e.g. as an event), it is an indication that theelectronic device is positioned rigidly with respect to the user (e.g.the electronic device is held in hand of the user and facing the user)in either portrait or landscape mode and one or more sensors of theelectronic device may for instance be used with the corresponding one ormore assumptions. For instance, the positioning library may continue touse the one or more sensors of the electronic device until a conditioninformation, e.g. provided to the positioning library, represents thatthe electronic device has been moved from the hand of the user toanother location as described above.

Based, at least in part, on the condition information, e.g. thepositioning library may for instance determine a directional movementinformation, which may for instance represent the direction of usermotion based on the one or more assumptions that it is perpendicular togravity vector and ‘aligned’ with positive or negative direction ofeither longitudinal or latitudinal axis of the electronic device (e.g. Yand X axes of FIG. 6), depending on the electronic device is in aportrait or landscape mode, e.g. represented by a determined orientationinformation. Strictly speaking, vector of user motion is perpendicularto gravity vector and aligned with the linear combination of projectionsof Y and X axes onto horizontal plane which is defined by the gravityvector (not the planes of the screen of the electronic device):V=aY′+bX′,where V is the vector of user motion, Y′ and X′ are projections of Y andX axes onto horizontal plane, a and b are coefficients proportional to Yand X components of gravity vector.

Moreover, since based on the condition information representing that theelectronic device is rigidly positioned with respect to the user (e.g.user holds electronic device in hand), the screen of the electronicdevice faces towards the user, signs of a, b can be computed, they areopposite to the signs of the Y and X components of the gravity vector.For example, when Y component of the gravity vector is negative, asshown in FIG. 7, vector of user motion is perpendicular to gravityvector and aligned with the positive projection of Y axis ontohorizontal plane. For instance, vector of user motion is a linearcombination of Y′ and X′ projections with coefficients 1 and 0respectively.

Alternative case is present when the electronic device is oriented in alandscape mode, which is presented in FIG. 8. In FIG. 8, the vector ofuser motion is a linear combination of Y′ and X′ projections withcoefficients 0 and 1 respectively. It is also possible that theelectronic device is in a such position that gravity vector is almostaligned with either Y or X axis, in that case the vector of user motion,e.g. represented by a directional movement information, is aligned withthe negative direction of Z axis, again because of the assumption thatthe screen of the electronic device is oriented towards the user and inthe opposite direction of user motion.

When e.g. a positioning library detects, based on a provided conditioninformation, that an electronic device is in hand in front of a user anddoes not change abruptly, it can track user motion using one or moresensors of the electronic device, e.g. an inertial sensor of theelectronic device. Heading change of the user motion can be computed andsteps can be detected reliably. Additionally, since it is known from thecondition information that the user interacts with the electronic device(e.g. user enters input e.g. via touchpad on the screen of theelectronic device), the screen is oriented towards the user, vector ofuser motion and hence absolute user heading can be computed, which isextremely valuable information in indoor navigation respectivelypositioning processes. Moreover, in case the condition informationrepresents that the electronic device is rigidly positioned with respectto the user, such modes/regimes represent most important use cases, whenvery good localization accuracy is expected, for instance when the useris constantly tracking his position on the screen.

All in all, information about user interaction with the electronicdevice allows to make certain assumptions about alignment between theuser and the electronic device, and therefore use one or more sensors(e.g. one or more inertial sensor) of the electronic device in areliable manner, and greatly improve localization accuracy.

In this way, a conservative use of one or more sensors of an electronicdevice, for instance detecting when one or more conditions are presentsuch that the one or more sensors are known to behave well. In general,those one or more conditions match well with the need to have locationestimates based, at least in part, on relative information, e. g.obtained by one or more sensors of the electronic device (e.g. so-calledsensor-boosted) for indoor navigation processes.

The following embodiments shall also be considered to be disclosed:

Embodiment 1

A method, comprising:

-   -   determining an indicator information indicative of one or more        indicators of a current usage of an electronic device;    -   determining a condition information indicative of if the        electronic device is rigidly positioned with respect to a user,        wherein the condition information is determined based, at least        in part, on the determined indicator information.

Embodiment 2

The method according to embodiment 1, the method further comprising:

-   -   determining a directional movement information indicative of a        direction of a motion, wherein the directional movement        information is determined based, at least in part, on the        determined condition information.

Embodiment 3

The method according embodiment 1 or embodiment 2, wherein the indicatorinformation is determined based, at least in part, on one or more of thefollowing parameters:

-   (i) backlight information indicative of a backlight status of the    electronic device;-   (ii) a user input information indicative of whether input is entered    into the electronic device;-   (iii) user eye detection information indicative of whether the    user's eyes are facing the electronic device;-   (iv) steadiness information indicative of a gravity vector    measurement of the electronic device;-   (v) or a combination thereof.

Embodiment 4

The method according to any of the embodiments 1 to 3, wherein thedetermining of the steadiness information comprises checking or causingchecking if one or more obtained components of at least one gravityvector fall within a specific range of values over a certain period oftime or exceed at least one limit of the specific range of values overthe certain period of time.

Embodiment 5

The method according to any of the embodiments 1 to 4, the methodfurther comprising:

-   -   checking or causing checking whether the condition information        represents the electronic device is rigidly positioned with        respect to the user;    -   providing or causing providing a relative information of the        electronic device dependent upon the result of the checking or        causing checking, wherein the relative information of the        electronic device is at least in part indicative of one or more        pieces of information obtained from at least one sensor of the        electronic device.

Embodiment 6

The method according to any of the embodiments 1 to 5, the methodfurther comprising:

-   -   determining an orientation information, wherein the orientation        information is indicative of the electronic device is oriented        in a portrait mode or in a landscape mode with respect to the        user.

Embodiment 7

The method according to embodiment 6, the method further comprising:

-   -   defining or causing defining one or more vectors and one or more        axes based, at least in part, on the determined orientation        information, wherein the directional movement information is        determined based, at least in part, on the defined one or more        vectors and the defined one or more axes.

Embodiment 8

The method according to any of the embodiments 1 to 7, the methodfurther comprising:

-   -   determining an orientation change information indicative of a        change of the orientation of the electronic device.

Embodiment 9

The method according to any of the embodiments 6 to 8, wherein theorientation information is determined based, at least in part, on thedetermined orientation change information.

Embodiment 10

The method any of the embodiments 2 to 9, wherein the directionalmovement information is determined based on the subsequent formula:V=aY′+bX′.

Embodiment 11

The method any of the embodiments 1 to 10, the method furthercomprising:

-   -   providing or causing providing the determined condition        information for an indoor navigation process.

Embodiment 12

The method any of the embodiments 1 to 11, the method furthercomprising:

-   -   using the provided or caused providing condition information for        an indoor navigation process.

Embodiment 13

The method any of the embodiments 1 to 12, wherein the track of the useris continuously determined with or without a sensor of the electronicdevice, dependent upon the determined condition information.

Embodiment 14

An apparatus comprising at least one processor and at least one memoryincluding computer program code; the at least one memory and thecomputer program code configured to, with the at least one processor,cause the apparatus to at least perform:

-   -   determining an indicator information indicative of one or more        indicators of a current usage of an electronic device;    -   determining a condition information indicative of if the        electronic device is rigidly positioned with respect to a user,        wherein the condition information is determined based, at least        in part, on the determined indicator information.

Embodiment 15

The apparatus according to embodiment 14, the at least one memory andthe computer program code configured to, with the at least oneprocessor, cause the apparatus to at least further perform:

-   -   determining a directional movement information indicative of a        direction of a motion, wherein the directional movement        information is determined based, at least in part, on the        determined condition information.

Embodiment 16

The apparatus according to embodiment 14 or embodiment 15, wherein theindicator information is determined based, at least in part, on one ormore of the following parameters:

-   (i) backlight information indicative of a backlight status of the    electronic device;-   (ii) a user input information indicative of whether input is entered    into the electronic device;-   (iii) user eye detection information indicative of whether the    user's eyes are facing the electronic device;-   (iv) steadiness information indicative of a gravity vector    measurement of the electronic device;-   (v) or a combination thereof.

Embodiment 17

The apparatus according to any of the embodiments 14 to 16, wherein thedetermining of the steadiness information comprises checking or causingchecking if one or more obtained components of at least one gravityvector fall within a specific range of values over a certain period oftime or exceed at least one limit of the specific range of values overthe certain period of time.

Embodiment 18

The apparatus according to any of the embodiments 14 to 17, the at leastone memory and the computer program code configured to, with the atleast one processor, cause the apparatus to at least further perform:

-   -   checking or causing checking whether the condition information        represents the electronic device is rigidly positioned with        respect to the user;    -   providing or causing providing a relative information of the        electronic device dependent upon the result of the checking or        causing checking, wherein the relative information of the        electronic device is at least in part indicative of one or more        pieces of information obtained from at least one sensor of the        electronic device.

Embodiment 19

The apparatus according to any of the embodiments 14 to 18, the at leastone memory and the computer program code configured to, with the atleast one processor, cause the apparatus to at least further perform:

-   -   determining an orientation information, wherein the orientation        information is indicative of the electronic device is oriented        in a portrait mode or in a landscape mode with respect to the        user.

Embodiment 20

The apparatus according to embodiment 19, the at least one memory andthe computer program code configured to, with the at least oneprocessor, cause the apparatus to at least further perform:

-   -   defining or causing defining one or more vectors and one or more        axes based, at least in part, on the determined orientation        information, wherein the directional movement information is        determined based, at least in part, on the defined one or more        vectors and the defined one or more axes.

Embodiment 21

The apparatus according to any of the embodiments 14 to 20, the at leastone memory and the computer program code configured to, with the atleast one processor, cause the apparatus to at least further perform:

-   -   determining an orientation change information indicative of a        change of the orientation of the electronic device.

Embodiment 22

The apparatus according to any of the embodiments 19 to 21, wherein theorientation information is determined based, at least in part, on thedetermined orientation change information.

Embodiment 23

The apparatus according to any of the embodiments 15 to 22, wherein thedirectional movement information is determined based on the subsequentformula:V=aY′+bX′.

Embodiment 24

The apparatus according to any of the embodiments 14 to 23, the at leastone memory and the computer program code configured to, with the atleast one processor, cause the apparatus to at least further perform:

-   -   providing or causing providing the determined condition        information for an indoor navigation process.

Embodiment 25

The apparatus according to embodiment 24, the at least one memory andthe computer program code configured to, with the at least oneprocessor, cause the apparatus to at least further perform:

-   -   using the provided or caused providing condition information for        an indoor navigation process.

Embodiment 26

The apparatus according to any of the embodiments 14 to 25, wherein thetrack of the user is continuously determined with or without a sensor ofthe electronic device, dependent upon the determined conditioninformation.

Embodiment 27

An apparatus configured to perform and/or control or comprisingrespective means for performing and/or controlling the method of any ofthe embodiments 1 to 13.

Embodiment 28

An apparatus comprising at least one processor and at least one memoryincluding computer program code, the at least one memory and thecomputer program code configured to, with the at least one processor,cause an apparatus at least to perform and/or control the method of anyof the embodiments 1 to 13

In the present specification, any presented connection in the describedembodiments is to be understood in a way that the involved componentsare operationally coupled. Thus, the connections can be direct orindirect with any number or combination of intervening elements, andthere may be merely a functional relationship between the components.

Moreover, any of the methods, processes and actions described orillustrated herein may be implemented using executable instructions in ageneral-purpose or special-purpose processor and stored on acomputer-readable storage medium (e.g., disk, memory, or the like) to beexecuted by such a processor. References to a ‘computer-readable storagemedium’ should be understood to encompass specialized circuits such asFPGAs, ASICs, signal processing devices, and other devices.

The expression “A and/or B” is considered to comprise any one of thefollowing three scenarios: (i) A, (ii) B, (iii) A and B. Furthermore,the article “a” is not to be understood as “one”, i.e. use of theexpression “an element” does not preclude that also further elements arepresent. The term “comprising” is to be understood in an open sense,i.e. in a way that an object that “comprises an element A” may alsocomprise further elements in addition to element A.

It will be understood that all presented embodiments are only exemplary,and that any feature presented for a particular example embodiment maybe used with any aspect of the disclosure on his own or in combinationwith any feature presented for the same or another particular exampleembodiment and/or in combination with any other feature not mentioned.In particular, the example embodiments presented in this specificationshall also be understood to be disclosed in all possible combinationswith each other, as far as it is technically reasonable and the exampleembodiments are not alternatives with respect to each other. It willfurther be understood that any feature presented for an exampleembodiment in a particular category (method/apparatus/computerprogram/system) may also be used in a corresponding manner in an exampleembodiment of any other category. It should also be understood thatpresence of a feature in the presented example embodiments shall notnecessarily mean that this feature forms an essential feature of thedisclosure and cannot be omitted or substituted.

The statement of a feature comprises at least one of the subsequentlyenumerated features is not mandatory in the way that the featurecomprises all subsequently enumerated features, or at least one featureof the plurality of the subsequently enumerated features. Also, aselection of the enumerated features in any combination or a selectionof only one of the enumerated features is possible. The specificcombination of all subsequently enumerated features may as well beconsidered. Also, a plurality of only one of the enumerated features maybe possible.

The sequence of all method steps presented above is not mandatory, alsoalternative sequences may be possible. Nevertheless, the specificsequence of method steps exemplarily shown in the figures shall beconsidered as one possible sequence of method steps for the respectiveembodiment described by the respective figure.

The invention has been described above by means of example embodiments.It should be noted that there are alternative ways and variations whichare obvious to a skilled person in the art and can be implementedwithout deviating from the scope of the appended claims.

The invention claimed is:
 1. An apparatus comprising at least oneprocessor and at least one memory including computer program code, theat least one memory and the computer program code configured to, withthe at least one processor, cause the apparatus to at least perform:determining an indicator information indicative of one or moreindicators of a current usage of an electronic device including agravity vector measurement; determining a condition informationindicative of if the electronic device is rigidly positioned withrespect to a body of a user, wherein the condition information isdetermined based, at least in part, on the determined indicatorinformation; checking or causing checking whether the conditioninformation represents the electronic device is rigidly positioned withrespect to the body of the user; performing a first localization for theelectronic device when the condition information indicates theelectronic device is rigidly positioned with respect to the body of theuser; and performing a second localization that includes absolutegeolocation for the electronic device when the condition informationindicates the electronic device is not rigidly positioned with respectto the body of the user.
 2. The apparatus according claim 1, the atleast one memory and the computer program code configured to, with theat least one processor, cause the apparatus to at least further perform:determining a directional movement information indicative of a directionof a motion, wherein the directional movement information is determinedbased, at least in part, on the determined condition information.
 3. Theapparatus according claim 2, the at least one memory and the computerprogram code configured to, with the at least one processor, cause theapparatus to at least further perform: determining an orientationinformation, wherein the orientation information is indicative of theelectronic device is oriented in a portrait mode or in a landscape modewith respect to the user.
 4. The apparatus according claim 3, the atleast one memory and the computer program code configured to, with theat least one processor, cause the apparatus to at least further perform:defining or causing defining one or more vectors and one or more axesbased, at least in part, on the determined orientation information,wherein the directional movement information is determined based, atleast in part, on the defined one or more vectors and the defined one ormore axes.
 5. The apparatus according claim 3, the at least one memoryand the computer program code configured to, with the at least oneprocessor, cause the apparatus to at least further perform: determiningan orientation change information indicative of a change of theorientation of the electronic device.
 6. The apparatus according toclaim 1, wherein the indicator information is determined based, at leastin part, on one or more of the following parameters: (i) backlightinformation indicative of a backlight status of the electronic device;(ii) a user input information indicative of whether input is enteredinto the electronic device; (iii) user eye detection informationindicative of whether the user's eyes are facing the electronic device;(iv) steadiness information indicative of the gravity vector measurementof the electronic device; (v) or a combination thereof.
 7. The apparatusaccording to claim 6, wherein the steadiness information is determinedby checking or causing checking if one or more obtained components of atleast one gravity vector fall within a specific range of values over acertain period of time or exceed at least one limit of the specificrange of values over the certain period of time.
 8. The apparatusaccording claim 1, the at least one memory and the computer program codeconfigured to, with the at least one processor, cause the apparatus toat least further perform: determining an orientation information,wherein the orientation information is indicative of the electronicdevice is oriented in a portrait mode or in a landscape mode withrespect to the user.
 9. The apparatus according to claim 8, wherein theorientation information is determined based, at least in part, on thedetermined orientation change information.
 10. The apparatus of claim 1,wherein the first localization process is based on at least one inertialsensor of the electronic device when the electronic device is rigidlypositioned with respect to the body of the user and the secondlocalization process is based on a satellite navigation system when theelectronic device is not rigidly positioned with respect to the body ofthe user.
 11. A method, comprising: determining an indicator informationindicative of one or more indicators of a current usage of an electronicdevice including a gravity vector measurement; determining a conditioninformation indicative of if the electronic device is rigidly positionedin a fixed orientation, for a predetermined period of time, with respectto a body of a user, wherein the condition information is determinedbased, at least in part, on the determined indicator information;performing a first localization for the electronic device when thecondition information indicates the electronic device is rigidlypositioned in the fixed orientation, for the predetermined period oftime, with respect to the body of the user; and performing a secondlocalization for the electronic device based on a satellite navigationsystem when the condition information indicates the electronic device isnot rigidly positioned in the fixed orientation, for the predeterminedperiod of time, with respect to the body of the user.
 12. The methodaccording to claim 11, the method further comprising: determining adirectional movement information indicative of a direction of a motion,wherein the directional movement information is determined based, atleast in part, on the determined condition information.
 13. The methodaccording to claim 12, the method further comprising: determiningorientation information for the fixed orientation, wherein theorientation information is indicative of the electronic device isoriented in a portrait mode or in a landscape mode with respect to theuser.
 14. The method according to claim 13, the method furthercomprising: defining or causing defining one or more vectors and one ormore axes based, at least in part, on the determined orientationinformation, wherein the directional movement information is determinedbased, at least in part, on the defined one or more vectors and thedefined one or more axes.
 15. The method according to claim 13, themethod further comprising: determining an orientation change informationindicative of the fixed orientation of the electronic device.
 16. Themethod according to claim 11, wherein the indicator information isdetermined based, at least in part, on one or more of the followingparameters: (i) backlight information indicative of a backlight statusof the electronic device; (ii) a user input information indicative ofwhether input is entered into the electronic device; (iii) user eyedetection information indicative of whether the user's eyes are facingthe electronic device; (iv) steadiness information indicative of thegravity vector measurement of the electronic device; (v) or acombination thereof.
 17. The method according to claim 13, wherein thesteadiness information is determined by checking or causing checking ifone or more obtained components of at least one gravity vector fallwithin a specific range of values over the predetermined period of timeor exceed at least one limit of the specific range of values over thepredetermined period of time.
 18. The method according to claim 11, themethod further comprising: checking or causing checking whether thecondition information represents the electronic device is rigidlypositioned with respect to the body of the user; providing or causingproviding a relative information of the electronic device dependent uponthe result of the checking or causing checking, wherein the relativeinformation of the electronic device is at least in part indicative ofone or more pieces of information obtained from at least one sensor ofthe electronic device.
 19. The method according to claim 11, the methodfurther comprising: determining an orientation information, wherein theorientation information is indicative of the electronic device isoriented in a portrait mode or in a landscape mode with respect to theuser.
 20. A non-transitory computer-readable medium storing computerprogram code, the computer program code when executed by a processorcausing an apparatus to perform or control: determining an indicatorinformation including a gravity vector measurement indicative of one ormore indicators of a current usage of an electronic device; determininga condition information indicative of if the electronic device isrigidly positioned with respect to a body of a user, wherein thecondition information is determined, at least in part, based on thedetermined indicator information; and selecting a first localizationprocess or a second localization process for indoor positioning inresponse to the condition information indicative of whether theelectronic device is rigidly positioned with respect to the body of theuser, wherein the first localization process is based on at least oneinertial sensor of the electronic device when the electronic device isrigidly positioned with respect to the body of the user and the secondlocalization process is based on a satellite navigation system when theelectronic device is not rigidly positioned with respect to the body ofthe user.